Method and apparatus for monitoring operational performance of fluid storage systems

ABSTRACT

The operational performance of a fluid storage and dispensing system is monitored by measurement apparatus which measures a volume associated with the system. A plurality of measurement data is collected from the measurement apparatus in a form readable by a computer and is stored in a compressed matrix format in a computer memory. The compressed matrix format is statistically analyzed to determine operational monitoring information regarding the system. The collected measurement data may also include error data resulting from the measurement apparatus. The method and apparatus permits precise monitoring of the operational performance of the fluid storage system without requiring presumptions as to the accuracy of the measurement apparatus.

BACKGROUND OF THE INVENTION

The invention relates to monitoring the operational performance of fluid storage systems.

Large quantities of liquids and similar materials are often stored in bulk storage containers or tanks, which may be located above-ground, partially above-ground, or completely below ground. Such containers or tanks are generally connected by piping to flow-meters or dispensers.

For example, underground storage tanks (UST's) and, occasionally, above-ground storage tanks (AST's) are often used to store petroleum products and fuel to be dispensed at automobile service stations, trucking terminals, automobile rental outlets, and similar operations through gasoline, diesel, or kerosene dispensing pumps. Fuel product is generally delivered to such facilities by a gravity drop from a compartment in a wheeled transport means such as a fuel delivery truck. AST's or UST's are often located at central distribution locations so that product can be subsequently withdrawn from the tank system to be transported for delivery to a variety of such facilities. A distribution facility with UST's or AST's may also receive deliveries of product from, e.g., a pipeline spur, wheeled transport, a barge, or a rail car.

Direct observation of the operating condition of such tanks and storage containers is difficult or impossible. The various methods for identifying the amount of product in tank systems have varying levels of accuracy, repeatability, and performance. Moreover, the accuracy of devices which measure the amount of product dispensed from the storage containers and tanks differs greatly, and may or may not be temperature compensated. The amount of product actually delivered to the tank system is often measured inaccurately and, frequently, not at all. Rather, the owner of operator of the tank or vessel usually records the invoiced amount of product delivered as the actual amount introduced to the tank system, without any means of confirming whether the invoiced amount of product delivered is correct.

Consequently, effective management of such facilities is complicated by the numerous errors in the various measuring devices and procedures used to establish a baseline for management, planning and decisions. Effective management requires the following:

1. Accurate measurement of the volume stored in the system.

2. Accurate determination of the volume dispensed from the system.

3. Accurate determination of the amount of product introduced into the system.

4. Identification of volumes added to or removed from the tank system which are not otherwise recorded.

5. Rapid identification of leakage from the tank system.

6. Continuous monitoring and diagnosis of the operating performance of all of the component measuring devices of the system.

7. Continuous analysis of sales data to predict demands of product from the system.

8. Determination of optimal reorder times and quantities as a function of ordering, transportation, holding, and penalty costs in order to minimize total costs of operation and/or to maximize profits.

Traditionally, these functions were performed crudely or, in many cases, not at all. Volume measurements were, and in many instances still are, based on imperfect knowledge of the geometry, dimensions, and configuration of the storage vessel. Also, dispensing meters are frequently miscalibrated. This is true even when tank systems are regulated because of the breadth of tolerance permitted for individual sales as related to total tank volume. For example, deliveries are almost always unmetered from the delivery vehicle, additions of product from defueling vehicles are typically undocumented, and theft of the product is not uncommon.

Leakage of product has, in recent years, assumed a dimension far in excess of the mere loss of the product. Environmental damage can, and frequently does, expose the operator to very large liabilities from third party litigation in addition to U.S. Environmental Protection Agency (EPA)-mandated remediation which can cost in the range of hundreds of thousands of dollars. The EPA's requirements for leak detection are set forth in EPA Pub. No. 510-K-95-003, Straight Talk On Tanks: Leak Detection Methods For Petroleum Underground Storage Tanks and Piping (July 1991), which is incorporated herein by reference.

To address these concerns, Statistical Inventory Reconciliation (SIR) was developed. The SIR method consists of a computer-based procedure which identifies all of the sources of error noted above by statistical analysis of the various and unique patterns that have been introduced into the inventory data and, in particular, into the cumulative variances in the data when viewed as functions of product height, sales volumes, and time.

SUMMARY OF THE INVENTION

The present invention relates to an automatic SIR system that may continuously and automatically collect data from completely above-ground, partially above-ground, and completely below ground containers for statistical analysis. The invention addresses a variety of physical, business, operational and environmental issues associated with the bulk storage of liquids or pourable solids.

The present invention is an application of SIR that greatly enhances the ability to manage a facility effectively. It provides the means to characterize exactly the geometry, dimensions, and configuration of the storage vessel, identify overages and shortages in deliveries and unexplained additions and removals of product, and provide an accurate assessment of overall dispensing meter calibration. In addition, by accounting for such discrepancies, it permits identification of leakage at rates less than 0.1 gallons per hour in all of its estimates to any prescribed tolerance. By increasing the number of measurements taken, the estimates can be derived at any desired level of tolerance.

The method of the present invention makes no assumptions as to the precision of any of the measuring devices used in various system configurations. Precision and calibration accuracies are derived from the data alone. Also, it is not assumed that the tank system is leak free; the leak status of the system is also determined from the data alone.

The method derives tank geometry, dimensions, and configuration and their impact on the totality of cumulative inventory variances as a function of product height in the tank. Correctness of dispensing meter calibration is verified in a similar manner by testing for randomness of cumulative variances as a function of varying sales volumes. Having confirmed that such remaining residual variances are random, reflecting only the inherent random noise of the measurement devices, the present method analyzes departures of the cumulative variance from the bounds determined by that calculated random noise level. All calculations as to the volumes added, removed, metered or leaking are based upon extended successive simultaneous observations of meter and gauge readings. The number of observations incorporated in each such calculation is determined by computing confidence bands for the parameters of interest and extending data collection as necessary to achieve predetermined tolerances.

For example, the method of the present invention is capable of distinguishing between continuous losses consistent with leakage and one-time unexplained removals of the fluid product from the tank. The method may be used to ensure the accuracy of computed delivery volumes, which are determined and reported with confidence boundaries calculated for estimated delivered quantities.

The method can also be used to control and monitor the accuracy of purchase costs of fluids such as petroleum which are delivered to tanks. For example, motor fuel retailers may be charged by wholesalers for either net or gross volumes purported to have been delivered. A determination that purchase charges are appropriate thus requires frequent simultaneous readings of sales, tank volumes and temperatures, which can be accomplished using the method of the present invention.

To accomplish these goals, the present invention involves estimating changes in product volume in a tank based on multiple data points and their respective likely errors measured continuously over a period of time. A software program is used to implement an algorithm that employs concepts from matrix theory and mathematical statistics. The algorithm includes generating the product of a matrix and its transpose by successive additions of partial products of partitions of the matrix and their corresponding transposed matrix partitions to minimize the storage requirements of the data collected. The compressed matrix data constitutes a complete and sufficient statistic for the parameters of interest. The algorithm thus permits the accumulation and storage of a large amount of data in a condensed form without sacrificing statistically useful information, to obtain a statistically significant result with the required accuracy and reliability.

Thus, one object of the present invention is to determine the accuracy and consistency of devices used to measure volume of product added to, removed from, and present in the system.

Another object of the invention is to identify and quantify additions of material to the system but not recorded as such and volumes of product removed from the system which are not registered by measuring devices or otherwise recorded.

Another object of the invention is to discriminate between discrete one-time unrecorded removals of product from the system and continuous losses consistent with leakage.

Another object of the invention is to identify and provide early warning of product leakage from all parts of the system, extending from the fill point to the point of discharge, and to confirm the validity of resulting leakage warnings.

Another object of the invention is to determine secular, seasonal trends and repetitive special demands to provide short and long term estimates for demand of the product, and to provide optimal reorder quantities and a delivery schedule for the system.

A further objective of this invention is to accomplish all of the foregoing in a fully automated system that requires no human intervention, other than as an option available to the operator, to enter quantities of material reportedly delivered for comparison with those computed.

In general, in one aspect, the invention features a method of monitoring a fluid storage and dispensing system. The system has measurement apparatus for measuring a volume associated with the system. A plurality of measurement data is collected from the measurement apparatus in a form readable by a computer and stored in a compressed matrix format in a computer memory. The compressed matrix format is statistically analyzed to determine operational monitoring information.

Implementation of the invention also may include one or more of the following features. The collecting step includes recording error data resulting from the measurement apparatus. The method may also include determining the presence of operational defects in the system, monitoring the accuracy of the measurement apparatus, determining the volume of fluid in the system, and determining whether a quantity of fluid removed from the system is caused by a leak in the system. The method also may include delivering a warning that a leak has been detected in the system.

The collecting step may be performed while the system is operating, may be performed continuously at periodic intervals, and may be performed automatically under the control of the computer. The method may include querying the measurement apparatus under the control of the computer.

The storing step may include generating the compressed matrix format as a product of a data matrix and the transpose of the data matrix. Further, the product may be formed by addition of partial products of each of a plurality of partitions of the data matrix with the transpose of each the partition.

The measurement apparatus may include a volumetric gauge, a dispensing apparatus and a sales recording device. The measurement data or the compressed matrix format may be transmitted to a host processor to perform the statistical analysis. The collecting step also may include estimating an initial volume of fluid in the system.

In general, in another aspect, the invention features a method of monitoring a fluid storage and dispensing system. The system includes measurement apparatus for measuring a volume associated with the system. A plurality of measurement data is collected from the measurement apparatus in a form readable by a computer and stored in a compressed matrix format in a computer memory. The measurement data includes error data resulting from the measurement apparatus. The compressed matrix format is statistically analyzed, to determine whether a quantity of fluid removed from the system is caused by a leak in the system. A warning that a leak has been detected in the system is delivered.

In general, in another aspect, the invention features an apparatus for monitoring a fluid storage and dispensing system. Measurement apparatus measure a volume associated with the system. A computer includes a processing means for collecting a plurality of measurement data from the measurement apparatus and a memory for storing the plurality of measurement data in a compressed matrix format. The processing means performs statistical analysis of the compressed matrix format to determine operational monitoring information.

Implementation of the invention also may include one or more of the following features. The system may include an underground storage tank, an above-ground storage tank, or a partially above-ground storage tank.

The measurement apparatus may include a volumetric gauge, a dispensing apparatus and a sales recording device. The volumetric gauge include a probe disposed in the system, and the probe may be a magnetostrictive tank probe. The dispensing apparatus may include a totalizer. The sales recording device may simulates operation of a point of sale terminal. Also the measurement data may be collected simultaneously from the various measurement apparatus.

The measurement data obtained from the measurement apparatus may be transmitted to the computer. A host processor remote from the computer may perform the statistical analysis.

Other features and advantages of the invention will become apparent from the following detailed description and from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of a facility including an underground tank storage system.

FIGS. 2, 3 and 4 are a portion of the Mathcad computer code used to perform the data compression algorithm.

FIGS. 5, 6 and 7 are a block diagram of the steps performed during routine operation of the algorithm of the present invention.

FIG. 8 is a block diagram of the steps performed during the data deletion operation of the algorithm of the present invention.

FIG. 9 is a block diagram of the steps performed during the delivery calculation operation of the algorithm of the present invention.

FIG. 10 is a schematic diagram of a data acquisition and transmission network that may be used in conjunction with the present invention.

FIG. 11 is a schematic diagram of a facility including an above-ground tank storage system.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

The method and apparatus described herein applies to UST's, AST's or any type of storage tank. The product stored in the tank may be any fluid, including dry particles that flow in the manner of a fluid.

FIG. 1 shows a UST facility 10, illustrated as an automobile service station. Facility 10 includes a series of UST's 12, 14, 16 which may store the same or different types of liquid fuel product 18. Volumetric tank gauges 20, 22, 24 in each tank measure the height of product 18 in the tank. Submersible pumps 26, 28, 30 in each tank pump product 18 to one of dispensing pumps 32, 34 through piping lines 36, 38, 40. Alternatively, facility 10 may be an AST facility with above-ground tank 1000, as shown in FIG. 11.

Tank gauges 20, 22, 24 are mounted in tanks 12, 14, 16. They may consist of or be based on magnetostrictive tank probes or other sensing technologies. In the case of magnetostrictive technology, two floats 42, 44 surround each probe, e.g., gauge 20 in tank 12. One float 42 floats on the upper surface of product 18 in tank 12, and the other float 44 floats on the interface of product 18 with any water or other foreign material collected at the bottom of tank 12. Tank gauge 20 determines the distance between floats 42, 44 to obtain the height of product 18 in tank 12. Tank gauge 20 also contains temperature sensors 46, 48, 50 spaced along its length to monitor the temperature of product 18 at various depth levels.

Each of the dispensing pumps 32, 34 consists of a totalizer or flow meter 52, 54 disposed in a housing 56, 58 to measure the volume of product 18 dispensed through hoses 60, 62 and nozzles 64, 66. To operate dispensing pump 32, nozzle 64 is removed from housing 56, which actuates dispensing pump 32 and causes product 18 to flow through hose 60 due to the pumping action of submersible pumps 26, 28, 30. A value stored in totalizer 52 is incremented as fuel is dispensed through hose 60. Upon completion of the transaction, nozzle 64 is replaced in housing 56, thereby turning off dispensing pump 32 and discontinuing the action of submersible pumps 26, 28, 30 and totalizer 52.

Transactions are recorded electronically by software in a sales recording device 71 connected to totalizers 52, 54 of dispensing pumps 32, 34. Totalizers 52, 54 in dispensing pumps 32, 34 are connected to sales recording device 71 by means of communications and power supply wires 78, 80.

Sales recording device 71 contains software capable of emulating the functions of a point of sale (POS) terminal associated with fuel sales made at facility 10. POS emulation software in sales recording device 71 functions on the basis of read only commands to eliminate the possibility of conflict with control command from an POS terminal employed by facility 10. Alternative data acquisition systems can result in destruction of credit card sales records, inadvertently shutting down the entire system, and/or causing electrical interference in the pump links.

Tank gauges 20, 22, 24 are connected to a tank monitor 82 by means of communications and power supply wires 84, 86, 88 or communicate data through radio frequency transmission. Tank monitor 82 converts raw data obtained from tank gauges 20, 22, 24 into a form usable by a computer.

A computer 70 contains a processor 72 capable of running various computer software and a memory 74. Tank monitor 82 and sales recording device 71 are electrically connected to computer 70 to relay totalizer values, product height and temperature data to computer 70. Software executable by processor 72 of computer 70 is capable of querying tank monitor 82 and sales recording device 71 to obtain measurement data at selected time intervals. The data is continuously evaluated as it is collected and is stored in memory 74 of computer 70 for later retrieval and detailed analysis. Alternatively, computer 70 may communicate with a host processor 90 at a remote location. The continuous evaluations or detailed analysis may then be performed by host processor 90, which may be faster or more efficient than computer 70.

As an example, computer 70 may be a personal computer or any other proprietary microprocessor-based unit. Computer 70 may capture data automatically through direct-connect serial interfaces with tank monitor 82 and sales recording device 71, or by manual operator keypad entry. Computer 70 communicates with equipment at facility 10 through four programmable serial communication ports, such as RS-232 communication ports.

Computer 70 may, e.g., store tank dimensions and product characteristics, and concurrent time and date data along with the measurement data. Computer 70 may be used to produce error and analysis reports as calculated by the software. It may also have alarm event initiated capabilities, such as when a leak is detected in any of the tanks. Such a computer system can accommodate facility and customer specific requirements while maintaining complete compatibility with other system components.

The SIR method involves reconciling volume data obtained from tank monitor 82 and volume data obtained from sales records. Sales transactions may be detected in a number of ways, including an electronic signal emitted from totalizers 52, 54, by voltage sensing of control relays on pump dispensers 32, 34, or by observation of product removal using tank gauges 20, 22, 24.

It is essential that the measurements to obtain these two types of data are made simultaneously. The SIR method of the present invention collects and analyzes observations of sales volumes and tank volumes which are derived simultaneously. Failure to collect both types of data simultaneously would bias estimates derived from separate volume measurements.

The SIR method properly accounts for the effects of temperature, pressure and specific gravity. In addition, product from two or more tanks may be blended, such as to achieve varying petroleum octane levels at pump dispensers 32, 34. When different fluid products are blended, the tanks are treated as one unit, and an additional parameter is introduced to determine the actual blend percentages.

Data concerning the physical characteristics of the tank configurations and the accuracy of the various gauges and metering devices is collected during installation and a set-up phase of operation of facility 10 to create a basis for subsequent statistical analysis. Information is then continuously collected so that the statistical analysis of SIR can be performed by computer 70 or host processor 90.

Several procedures are used either singly or in combination to obtain the volume observations. First, where the system configuration provides for determining whether hoses and dispensers associated with a given tank are active, the system is queried on a minute-by-minute basis, or on the basis of another predetermined time interval, to determine the status of the dispensers. When all of the dispensers are idle, the values from totalizers 52, 54 and the tank volumes (i.e. product heights in the tanks) and temperatures are recorded.

Second, submersible pumps 26, 28, 30 are checked to determine on/off status. When it is determined that the pumps are turned off, the values from totalizers 52, 54 are read, and tank volumes and temperatures are recorded.

Third, software algorithms used by computer 70 are detect and measure leads and/or lags between the recording of sales events and corresponding gauge and meter readings. When leads or lags are encountered and constitute a physical characteristic of the data measurement and recording system, constrained optimization, rather than unconstrained optimization, may be used to determine parameter estimates. Lagrange multipliers are one example of such a constrained optimization method.

The method of the present invention is capable of providing dynamic monitoring of system performance. For example, the leak detection function is carried out continuously while normal operations, e.g., removals and deliveries, are taking place. To detect leaks dynamically, the software is programmed to detect when sales or delivery events occur and to calculate the volumes of product removed or added as a result of such activities. Thus, dynamic testing does not require that the system be dormant and addresses the entire system from the point of filling to the point of dispensing.

The SIR method of the present invention also distinguishes between one-time removals and continuous losses consistent with leakage. The integrity or leak-free status of the system is not assumed a priori. Instead, the individual and unique characteristic pattern induced by each form of error when viewed along the separate dimensions of time, product height and sales volume are used to identify and quantify the errors. The method may also be used to detect and quantify undocumented removals, e.g., theft or additions of product.

Further, the overall system is self diagnosing in that it determines from the data the maximum degrees of reliability and precision of which a particular operating configuration is capable of at any given time, as well as the degree of calibration accuracy.

In particular, product height in the tanks and temperature are measured continuously at, e.g., one-minute intervals. Height and gross volumes are converted to net volumes at, e.g., 60° F. or 15° C. using the algorithms described below. Sales recorded the totalizers 52, 54 are extracted and stored in memory 74 at times coincident with readings from tank gauges 20, 22, 24. If the dispensing system is capable of transmitting a signal indicating whether or not any or all individual hoses are active, that information is also stored in memory 74 coincident with taking gauge and meter readings.

The method of the present invention is designed to achieve the maximum accuracy possible within the limitations imposed by the inherent random and irreducible noise in the various measuring devices incorporated. It utilizes multiple measurements over extended time to identify and quantify systematic and repeatable effects in the instrumentation and thereby correct for them using the known physical characteristics of the devices. The system makes no a priori assumptions as to the accuracy of the devices used to measure product volume in the tank, to measure volumes removed or as to the accuracy of volumes reported to have been delivered into the system.

The resulting volumetric calculations are independent of the physical characteristics of the tank configuration and the various measuring devices which may be incorporated in the system. The results do not rely on input entered externally by the operator or from diagnostics internal to the measuring devices used. Instead, the output produced by the software which analyzes the measured data depends only the patterns induced in inventory data produced by the tank gauges and measuring devices and, in particular, the cumulative variances that result when the various input values are combined.

Various error patterns which the measuring devices can induce and the effects of temperature, tank geometry, and orientation on cumulative variances are derived from empirical analysis of real-world inventory data. The system's software synthesizes the output measurements of the various devices based on known characteristics derived from the empirical data. Thus, the software is capable of identifying measurement errors caused by the measuring devices and simultaneously compensating for the effects of those errors.

Gauges can be systematically inaccurate in two ways. The height of the product in the tank can be incorrect, and the height to volume conversion algorithms may not reflect accurately the true dimensions of the tank or its orientation in the ground. The latter may be the result of incorrect measurements or an inappropriate conversion algorithm.

The presence of such systematic effects and their nature may be established by examining the pattern of inventory variances as a function of product height. Errors of this kind induce patterns which repeat themselves as the tank is filled and emptied. If the tank length is incorrect, a linear pattern is induced. If product height is in error, a curvilinear pattern results reflecting the varying volumes in different cross sections of a cylindrical tank. Tilt along the length of the tank induces a sinusoidal pattern symmetrical about the mid-height of the tank. Absent such errors, the pattern will be purely random reflecting only the inherent noise of the measuring device. The absence of randomness and the presence of a systematic pattern serves to identify the presence of systematic error. The pattern of a departure from random and its extent determines the source and extent of the effects and the means necessary to correct them.

Dispensing errors, unlike volume measuring errors, are independent of product height but are sensitive to the volume of product dispensed. The nature and extent of dispensing errors can be established by examining inventory variances as a function of sales volume. As in the case of volume measurements, in the absence of systematic errors, variances as a function of sales volume will be random. The form and extent of departures from randomness serve to determine the source and extent of the effects and provide for their removal.

Leakage from the system creates a continuous downward trend in the cumulative variance when viewed as a function of time. By contrast, one-time additions and removals of product cause significant upward or downward translations of the cumulative variance which remain permanently in the record and do not introduce a continuous trend. Leakage is distinguishable from tank gauging errors when viewed as a function of product height because the pattern does not repeat as the tank is filled and emptied. If product is leaking from the system, a series of parallel translations in the cumulative variance is generated, each shifted by the volume of product lost between deliveries.

The accuracy of measurements taken from the various components of the system determines the accuracy achievable in any one individual observation. Since the leak rate is computed from a series of successive observations, however, the minimum detectable leak rate can be reduced to any desired magnitude by increasing the number of successive observations recorded. Thus, the system can serve as a final verification for leakage indications obtained by other methods.

At the conclusion of an initial set up period of data collection including one or more delivery and sales cycles, the collected measurement data is analyzed by regression analysis. The initial set-up regression is used to derive tank dimensions and orientation, individual meter calibrations and secular trends. A confidence level value p is computed at the 0.01 level of significance to determine the minimum leak rate detectable by the system, and the residual variance is computed to provide the current noise level of the system.

The regression is performed according to the following equation: ##EQU1## where st_(i) (R,L,T)=Volume in gallons derived from the ith gauge reading in inches in a cylindrical tank with or without hemispherical end caps with radius R, length L, and tilt over its length of T inches.

a=Initial inventory in gallons, which is to be estimated.

Sa_(kj) =Sales volume recorded on the kth totalizer.

α_(k) =Fraction of sales volume recorded on the kth totalizer actually removed from the tank, which is to be estimated.

D_(j) =Volume of the jth delivery.

Et_(i) =Elapsed time since initiation until the ith gauge reading is recorded.

Ls=Constant gain or loss in product per unit of time.

B_(j) =Volume of product added (e.g. delivery) or removed during some discrete time interval prior to or during observation period j. ##EQU2##

All of the parameters are estimated simultaneously using least square estimation procedures. The R and T parameters are derived numerically, but the other parameters are derived analytically.

Further, all of the parameters, including the initial inventory, are estimated simultaneously. The initial volume must be estimated from all succeeding data, even if the tank is initially empty, otherwise the initial gauge reading and its conversion to gallons is assigned a credibility not assumed for all succeeding readings. Also, in a great majority of applications, the initial inventory in an already existing and operating system is not accurately known.

Initial inventory estimation is vital in determining the geometry of the tank. When tank geometry, tank orientation, or tank product height measurement depart from the values obtained from nominal sources, all gauge and meter measurement are affected. It is practically impossible to detect the errors induced in the gauge measurements and correct for them unless the estimation of the initial inventory is made coincident with the estimation of the values of the other parameters.

The estimate of the parameters are based on the totality of the data collected. This means, e.g., that the estimate of leak rate Ls is determined from a linear trend including all of the data collected, not merely at one end of reconciliation period. Likewise, estimates of tank dimensions and orientation are derived from their overall contribution to reduction in residual variance, as opposed to a sale by sale analysis of tank segments.

The volume st_(i) (R,L,T) is derived from the product height measurement by multiplying the constant area of tank segments of height h (in inches) by tank length L. The volume in gallons of product in a horizontal cylindrical tank of radius R is given by: ##EQU3##

In the case of a tilted tank, the area of the segments vary with position along the length of the tilted tank, and the volume is determined by integrating over the length L. Such integration does not result in a closed form because the cross sections are not circular, and a numerical integration would severely limit the frequency of observations. Instead, in this application the tank is treated as lying horizontally and the product is considered tilted, to derive an equivalent volume. This integration yields the closed form: ##EQU4## The integrand is evaluated between the normalized product heights in inches, hu/R and hl/R, at the lower and higher ends of the tilted tank, respectively. It is standard industry practice to install tanks on an incline to divert water and sludge away from the submersible pumps.

Tank tilt is identified from the pattern it induces in the record of cumulative variances as a function of product height. It is compensated for by fitting the correct mathematical form for height-to-volume conversions in a tilted tank to the cumulative variance calculated by the method of least squares. This is done simultaneously with estimation of the initial inventory.

Tank length L and radius R are established by equating the first partial derivatives of the sum of squared cumulative variance with respect to length and radius and determining the values which minimize the sum of squared variances. Simultaneous estimation of initial inventory is also required when estimating tank length L and radius R.

Errors in measurement of the product height h in the tank are characterized by curvilinear patterns induced by height-to-volume conversions in the cumulative variance for a cylindrical container when heights are transposed upward or downward. Such errors also are compensated for by minimizing the sum of squared cumulative variances with respect to increments or decrements to measured product height. This estimation also requires simultaneous estimation of the initial inventory of the tank.

In general, the accuracy of the estimates of the tank dimensions, tank orientation and height measurements is confirmed by observing that the cumulative variances of each derived value as a function of nominal product height are random and display no systematic influence or effects.

Dispenser totalizer calibration is continuously monitored and evaluated by minimizing the sum of squared cumulative variances with respect to multiplicative constants associated with individual reported cumulative sales volumes from all pump dispensers associated with a particular tank system. This eliminates the need for manual verification of meter calibration.

In particular, gauge performance is continuously monitored to identify gauge malfunctions or degradation in gauge performance. Monitoring of gauge performance is independent of diagnostics which are internal to the measuring device. Diagnoses of problems are based only on their impact on the cumulative inventory variances which are continuously monitored by the software.

If the gauge fails to record changes in product height when the dispensers register sales, an increase in cumulative variances approximately equal to sales volume is observed; this effect can be identified by the monitoring software and a warning of gauge malfunction generated to the operator.

However, observation of the gauge registering product height change, but with a time lag after sales are recorded, may be a feature of normal gauge performance. Such normal gauge performance is identified by repeated positive increments in cumulative variances as sales are completed with subsequent return of the cumulative variance to normal bounds. When such gauge function is determined to be the normal operating characteristic of a particular system, constrained optimization with lagged variables is introduced into the software. Otherwise, the gauge's performance is reported as a malfunction.

Finally, temperatures in the tank are monitored to detect changes that are excessive for the time intervals between observations. Erratic temperature readings are deleted, and may indicate gauge malfunction.

The software computes actual, rather than nominal, delivered quantities and requires no input by the system operator. The operator may choose to input into the system the nominal delivery quantity indicated by the delivery invoice, along with the temperature and coefficient of expansion of the product at the point of pick-up. The software will then compute overages or shortages between the nominal and actual quantities delivered, as well as the overages or shortages caused by temperature-induced variations in the transport of the product to the facility and in the subsequent mixing of the delivered product with that resident in the tank.

Delivery is identified by the software when a positive cumulative variance is observed which exceeds the system noise level and is not succeeded by a return to normal variance bounds. Delivered quantities are computed by estimating the volume increases they induce in multiple, successive observations. The required number of successive observations is determined as that sufficient to generate a confidence width which is within a predetermined tolerance. The system of the present invention is capable of accounting for sales conducted during delivery and for noise introduced by post delivery turbulence in the tank.

One-time unaccounted for removals or additions to the tank are computed in the same manner. Deliveries are distinguished from such events by computing the rate of input, which in the case of normal gravity delivery should exceed 100 gallons per minute. Other modes of delivery, e.g. pipeline delivery into above ground tanks, are identified by incorporating their known delivery rates.

Leakage from the system is identified by a continuous linear negative trend in the data which exceeds the computed minimum detectable leak rate after all of the various error phenomena described above have been identified and compensated for. This calculation deals with the totality of the data obtained by constantly monitoring known removals and is not restricted to observations made only when the system is dormant. It is also independent of any single data reconciliation calculation in that trends throughout all of the data are evaluated.

All calculations concerning volumes are made on the basis of net volumes, according to the following definitions:

Net Volume in Tank=Gauge Volume (1-(t-60)CE)

where:

t=Measured temperature in degrees Fahrenheit (if centigrade, the term in parentheses becomes (t-15)).

CE=Coefficient of expansion.

and ##EQU5## where t1 and t2 are temperatures measured by the tank gauge at the beginning and ending of a sale transaction, respectively. Deliveries are computed in net gallons, but are converted to gross quantities if required, based on external information input by the system operator, as follows:

GT=Gross gallons on invoice at the originating terminal.

NT=Net gallons on invoice at the terminal.

tT=Temperature at the terminal.

CE=Coefficient of expansion.

The program also records:

tA=Ambient temperature in the tank prior to delivery.

tF=Temperature in the tank at the conclusion of delivery.

The following value is computed:

    ______________________________________                                                  tS =         Temperature of the product in the delivery                                     vehicle at the facility at the beginning                                       of delivery.                                                      =                                                                                            ##STR1##                                                where    NVD =        Actual net volume delivered, previously                                        computed.                                                         NVA =        Net volume in the storage tank at the                                          start of delivery.                                                NS =         Net overage(+) (underage(-)) in delivery.                         =            NT - NVD                                                          GVD =        Gross volume delivered.                                           =            NVD (1 + (tF - 60) CE)                                            GVS =        Gross volume in the transport vehicle at                                       the facility prior to delivery.                                   =            NVD (1 + (tS - 60) CE)                                            GSM =        Shrinkage due to mixing in the tank.                              =            GVS - GVD                                                         GVT =        Actual gross volume in the transport                                           vehicle at the facility.                                          =            NVD (1 + (tT - 60) CE)                                            GST =        Shrinkage during transit to the facility.                         =            GVT - GVS                                                         GOS =        Gross overage(+) (underage(-)) adjusted                                        for temperature effects                                           =            GT - GVD + GST + GSM                                     ______________________________________                                    

Calculations of volumes actually delivered are based on multiple observations of the balance of measured tank volumes and cumulative sales. This method requires frequent simultaneous observations of sales and in-tank volumes (i.e. product heights) and temperatures.

A large number of variables must be estimated by the software to implement the SIR system of the present invention. For example, as many as forty hoses and independent totalizers per tank system, as well as deliveries numbering four or more per day must be accommodated. Thus, a very large volume of data must be accumulated, encompassing a substantial spread of sales volumes from each totalizer for both the set-up analysis and subsequent routine monitoring. To accommodate this volume of data within current or conceivable future practical computer memory capabilities, the algorithm implemented by the software utilizes a matrix formulation which invokes the property of a sufficient statistic to reduce the memory requirement.

The calculations used to determine the various error, loss trend and delivery estimates have the form: ##EQU6## where B=Column vector of m parameters to be estimated.

x=Matrix of parameter coefficients.

y=Column vector of independent variables.

MSE=Mean squared error.

S² =Variance covariance matrix of parameter estimates.

The values contained in vector y comprise tank gauge readings. The entries in matrix x are measured sales volumes, time, and other constant values. The parameters of vector B which are to be evaluated include the initial volume of the system and subsequent volume changes, including delivery amounts.

For example, if observations are recorded every minute, as many as 1440 rows in the x matrix and the y vector may be recorded. It would clearly be impractical to accumulate and store data in that form over an extended period of time. Instead, data compression techniques are applied so that only a manageable amount of data need be stored.

The algorithm utilizes the property that if an n×m matrix A is partitioned into two submatrices, B and C, where B is an i×m matrix and C is a j×m matrix, such that i+j=n, then

For example, ##EQU7##

At the conclusion of each 24 hour or other period, only x^(T) x and x^(T) y are computed and stored. Thus the total data storage requirement for each period is determined only by the square of the number of parameters of interest. The system is able to accommodate virtually unlimited numbers of observations by this method of data compression. Without this capability, the system would not have the storage capacity to accurately and simultaneously estimate the numbers of parameters which are required to perform a statistically significant calculation. This data compression method also allows for processing the data at the facility or for transmitting the data to a host computer for periodic analysis. FIGS. 2, 3 and 4 show the Mathcad computer code used to perform the data compression algorithm.

Furthermore, (x^(T) x)⁻¹ x^(T) y is a complete and sufficient statistic for B. No statistically useful information is lost in the compression. The overall procedure is, therefore, unlimited by memory. The only limitation remaining is the precision available in the computer system used.

The software performs SIR analysis, including inventory estimation and leak detection, using the above equation in the following form:

x= 1_(range), (-1) (T_(range)), (-1) (S_(range))^(<meters>) !

y=(Stk_(range))-(CD_(range))

where

range=1 . . . (number of observations)

meters=1 . . . (number of dispensers)

and

1_(range) =Column of 1's.

T_(range) =Cumulative time in minutes.

(S_(range))^(<meters>) =Cumulative sales for an individual dispenser in gallons.

CD_(range) =Cumulative deliveries.

Stk_(range) =Tank stick reading in gallons.

To estimate the initial inventory, the matrix x includes a column of unitary values. To estimate loss trends, the matrix x includes a column containing cumulative times of measurement and cumulative sales. The values of B, MSE and S² are then calculated, producing the following result for the vector B:

B₁ =Estimated initial inventory.

B₂ =Loss trend.

B_(2+meters) =Individual meter error.

B is the vector containing the parameter estimates, namely beginning inventory, meter calibrations and loss rate. The loss rate estimate is in the second row (n=2). S² is the variance covariance matrix of the parameter estimates. Thus, S₂₂ =(S² ₂₂)^(1/2) is the standard deviation of the loss rate estimate. Finally, the minimal detectable leak is defined as t.sub.α S₂₂, where t.sub.α is the (1-α) percentile of the Student's t distribution.

The software performs delivery calculations using the equation in the following form:

x= 1_(range), (T_(range))(-1), (S_(range))(-1), (D_(range))!

y=(Stk_(range))

where

range=1 . . . (number of records)

and

1_(range) =Column of 1's.

T_(range) =Cumulative time in minutes.

S_(range) =Cumulative sales in gallons.

D_(range) =0 where T_(range) is less than delivery time

and

1 where T_(range) is greater than or equal to delivery time.

Stk_(range) =Tank stick reading in gallons.

The values of B, MSE and S² are then calculated, producing the following result for the vector B:

B₁ =Estimated initial inventory.

B₂ =Loss trend.

B₃ =Meter error.

B₄ =Estimated delivery amount.

S² is the variance covariance matrix of the estimates. Thus, S₄₄ =(S² ₄₄)^(1/2) is the standard deviation of B₄, the delivery volume estimate. The delivery tolerance is B₄ ±t.sub.α S₄₄, where t.sub.α is the (1-α) percentile of the Student's t distribution. Delivery tolerances can be reduced to any desired value by increasing the number of observations used in the calculation.

The SIR analysis used by the method of the present invention involves computing and comparing cumulative variances. When the initial set-up is complete, computed trend and meter calibrations are used to project forward an expected cumulative variance, that is, the expected value of the difference between gauge readings and computed inventory. Actual cumulative variances are then computed from all subsequent gauge and meter readings and compared to the expected variance.

FIGS. 5, 6 and 7 show the routine operation procedure 100 followed by the software to perform this analysis. Data from the set-up of the system and the most recent analysis is entered into the program at step 102. The data entered includes the tank type, tank dimensions, tank tilt, meter calibrations, mean square error and calculated trends. At step 104, three variable established as counters, Counter1, Counter2, and Counter3, are set at zero. The measurement data from the system itself is entered at step 106, namely the readings from the dispenser totalizers, the product height and the product temperature.

The software computes the gross volume of the product, the most recent gross volume and the sales as measured by the individual dispensers at step 108. The software further manipulates the data at step 110 by converting all gross volumes to net volumes, computing observation to observation variance, and computing cumulative variance. The sign of the cumulative variance is recorded at step 112.

The program proceeds on the basis of the cumulative variance and the value of Counter1 in steps 114, 120, 124, 128, 132 and 136. Depending on the cumulative variance and the value of Counter1, the program analyzes the collected data at step 118 if it is a final observation (step 116), deletes the collected data (steps 122 and 134), performs the analysis for a delivery (step 126) (see below), or reads new data (steps 116, 122, 130, 134, 138, 140 and 142) upon updating the value of Counter1 and other computational variables (i.e. index, sign index and sign).

Upon computing the rate loss at step 144, the program reads new data at step 146 if the rate loss is not greater than or equal to, e.g., 0.2 gallons per hour, otherwise it computes the trend of the data at step 148. If at step 150 it is determined that the trend is greater than 0.2 gallons per hour, a warning is issued at step 156. In either case, the software continues to read and analyze the data at steps 152, 154, 158 and 160.

The operation of deleting data 170 is shown in detail in FIG. 8. After performing similar analyses at steps 172, 174, 176, 180 and 184, as in the routine operation procedure, data is deleted and new data is read at steps 178, 182, 186 and 188.

Finally, FIG. 9 shows the delivery calculation 190 in detail. After determining that the cumulative variance is greater than a predetermined value (three standard deviations) at step 192, the program determine whether the variance is greater than, e.g., 100 gallons per minute (step 194). If so, the delivery is recorded and the amount of delivered is determined at steps 202 through 220. If the variance between data measurements is less than 100 gallons per minutes, the software determines whether the gauges are inoperative at step 198 or proceeds as in the routine operation procedure according to step 200 depending on observation exceeds a predetermined value at step 196.

In general, if observed variances are within three standard deviations or other predetermined tolerance of the expected value, the data is stored for future analysis. When cumulative variance exceeds three standard deviations or other predetermined tolerance, different software programs are executed depending on the nature and magnitude of the departure.

If within ten (or other predetermined) successive observations after the initial departure, the cumulative variance returns to within the tolerance range, all data from and including the initial departure and prior to the initial observation are deleted. The time extent and number of observations involved is recorded and stored for, e.g., a daily gauge performance report.

If all ten (or other predetermined) successive observations remain outside the tolerance bound and the cumulative variances are of the same sign, a new trend line is initiated at the point of initial departure. After ten (or other predetermined) additional observations, a third trend line is initiated. If the increment to the overall trend estimated from the most recent observations is not significant, the most recent data is consolidated with the previous data and the process is repeated until such time, if ever, that the current trend increment is significant.

If the departure is positive the system checks whether the product is being dispensed and whether the gauge height fails to decrease, reflecting removal from tank. If so, the tank gauge is reported to be inoperative.

If the gauge height is increasing, monitoring is continued as above until the most recent trend line returns to its original slope. Minute to minute variances are monitored to detect turbulence until the gauge values again return to within tolerance. All observations which occurred in the fifteen minutes prior to first positive departure until end of post delivery turbulence are deleted. An indicator variable is introduced at the first observation after post delivery turbulence. The system collects thirty additional observations and performs the regression from the beginning of the period to determine the volume delivered. The volume delivered is then reported.

If the departure is negative, the system proceeds as with delivery. If successive slope increments fail to show a return to the original slope, indicating continuing loss of product for a predetermined period, typically one hour, and slope exceeds 0.2 gallons per hour, the system reports a warning that there is a continuous loss of product. If the loss rate is less than 0.2 gallons per hour but greater than the minimum detectable leak, the system continues to monitor and recalculate the parameters, to be included in a daily operational report. If the incremental trend line shows a return to the original trend, the system proceeds as with delivery, introduces an indicator variable, deletes data as necessary, and performs the regression to determine the volume of product removed. The system reports a one-time removal of product.

Referring to FIG. 10, the invention incorporates a data acquisition and transmission network (DAT Network) 300 to completely automate the process of obtaining, capturing, transferring and processing product inventory data for use in product management, delivery scheduling and environmental compliance practices. DAT network 300 includes on-site processors 302, 304 at the facilities 306, 308 where the tanks are located, a customer host processor 310 and a central host processor 312. DAT network 300 links multiple remote facilities 306, 308 to central host processor 312, which performs the SIR analysis. The link may be accomplished indirectly through customer host processor 310, which itself is connected to a plurality of remote facilities 306, 308. Each of these processor elements is composed of independently operating software and hardware systems which form the basis of a wide area network linked by modems which transmit information electronically via the telephone network 314 using standard dial-up voice grade telephone lines. Examples of DAT networks are the TeleSIRA and ECCOSIRA systems developed by Warren Rogers Associates, Inc., Middletown, R.I.

DAT network 300 provides a uniform method of integrated management for the widest possible variation of underground and above-ground fuel storage, movement and measurement systems. On-site processors 302, 304 are capable of obtaining information from any electronic or mechanical control system, enabling DAT network 300 to accommodate facility configurations that are unique to each facility while presenting the information captured at remote facilities 306, 308 to customer host processor 310 or central host processor 312 in a uniform format.

On-line processors 302, 304 obtain and capture product inventory data through the use of proprietary interfaces with external systems in use at remote facility 306, 308, such as tank gauges and sales recording devices. On-line processors 302, 304 transfer captured information daily, weekly or monthly through the public switched telephone network 314 to customer host processor 310 or central host processor 312 for use in inventory management, delivery scheduling and/or environmental compliance. On-site processors 302, 304 may be, e.g., a touch-tone telephones acting as a sending units and Windows-based multi-line, voice prompt/response PC's as the receiving units. On-site processors 302, 304 may be designed to meet the specific needs of facilities 306, 308 without requiring remote hardware at the facility in addition to that already present.

In particular, each of on-site processors 302, 304 typically is equipped with an alphanumeric keypad, a character display, a power supply, four programmable serial communication ports, an internal auto-dial/auto-answer (AD/AA) modem and a local printer port (for connection to a printer). The keypad and display allow for operator configuration and manual entry of sales, delivery and tank level data. Use of an AD/AA 2400 baud modem allows multiple on-site processor 302, 304 to share an existing voice grade telephone line by establishing communication windows to minimize attempted simultaneous use. Each of the programmable serial communication ports is independent, fully programmable and governed by options selected at the facility or off-site through modem access. Finally, on-site processors 302, 304 can prompt the facility operator to enter missing or suspect entries when results are outside the expected range.

The use of customer host processor 310, which is capable of receiving, storing and processing information from multiple on-site processors 302, 304, enables the management of a remote tank population from a single point of contact. A database of information created by customer host processor 310 is the basis for all higher level product management functions performed by DAT network 300. The database is also the basis for the environmental compliance analysis performed by central host processor 312.

The use of central host processor 312, which is capable of receiving, storing and processing the information in the database created by customer host processor 310 for product management enables DAT network 300 to achieve maximum results by utilizing the database for environmental compliance without additional remote facility information or communication. Central host processor 312 is capable of transmitting a resulting database of the environmental analysis back to customer host processor 310 for printing and other customer record-keeping requirements.

The processor elements of DAT network 300 may exhibit other useful operational characteristics. To prevent unauthorized access to DAT network 300, a security access code for dial-up data transfer functions is required. Under secured access, the baud rate, parity, stop bit parameters and communication protocol is determined at any of on-site processors 302, 304, customer host processor 310 or central host processor 312.

Another function DAT network 300 is to monitor tank contents generally. DAT network 300 can be programmed to activate, e.g., an audible and visual alarm if the water level in the tank is too high (e.g., greater than 2 inches), if the product level in the tank is too high (e.g., more than 90% of tank capacity) or too low (e.g., less than 10% of tank capacity, more product must be reordered (less than two days supply), and if a theft occurs (product level changes during quiet periods).

The system may be used to obtain valuable information other than inventory regulation and leak detection. For example, the system may incorporate time series analysis routines, including Box Jenkins, moving average and exponential smoothing, to derive estimates of demand for the product which also incorporate temporal and seasonal trends and special events.

The demand analysis may also be combined with additional inputs of holding costs, reorder costs, transportation costs and penalty costs for running out of stock. The system can include optimal inventory algorithms to determine optimal order quantities, reorder points and optimal delivery truck routing. Further, the system may incorporate multiechelon, optimal inventory procedures to accommodate combined wholesale and retail operations, such as with calculus-based optimization and linear, nonlinear and dynamic programming.

Other embodiments are within the scope of the claims. 

What is claimed is:
 1. A method of monitoring a fluid storage and dispensing system, said system comprising measurement apparatus for measuring a volume associated with said system, said method comprising:collecting a plurality of measurement data from said measurement apparatus in a form readable by a computer; storing in a computer memory said plurality of measurement data in a compressed matrix format which is a product of a data matrix and the transpose of the data matrix; and statistically analyzing said compressed matrix format to determine operational monitoring information.
 2. The method of claim 1 wherein said statistically analyzing step includes calculating error data resulting from said measurement apparatus.
 3. The method of claim 1 further comprising determining the presence of operational defects in said system.
 4. The method of claim 1 further comprising monitoring the accuracy of said measurement apparatus.
 5. The method of claim 1 further comprising determining the volume of fluid in said system.
 6. The method of claim 1 further comprising determining whether a quantity of fluid removed from said system is caused by a leak in said system.
 7. The method of claim 6 further comprising delivering a warning that a leak has been detected in said system.
 8. The method of claim 1 wherein said collecting step is performed while said system is operating.
 9. The method of claim 8 wherein said collecting step is performed continuously at periodic intervals.
 10. The method of claim 9 wherein said collecting step is performed automatically under the control of said computer.
 11. The method of claim 1 further comprising querying said measurement apparatus under the control of said computer.
 12. The method of claim 1 wherein said collecting step comprises estimating an initial volume of fluid in said system.
 13. The method of claim 1 wherein said product is formed by addition of partial products of each of a plurality of partitions of said data matrix with the transpose of each said partition.
 14. The method of claim 1 wherein said measurement apparatus includes a volumetric gauge, a dispensing apparatus and a sales recording device.
 15. The method of claim 1 further comprising transmitting said measurement data to a host processor to perform said statistically analyzing step.
 16. The method of claim 1 further comprising transmitting said compressed matrix format to a host computer to perform said statistically analyzing step.
 17. A method of monitoring a fluid storage and dispensing system, said system comprising a plurality of measurement apparatus for measuring a volume associated with said system, said method comprising:simultaneously collecting measurement data from said plurality of measurement apparatus in a form readable by a computer to determine a change in said volume; repeating said collecting step to obtain a plurality of said measurement data from said plurality of measurement apparatus; storing said plurality of measurement data in a compressed matrix format in a computer memory; and statistically analyzing said compressed matrix format to determine operational monitoring information.
 18. The method of claim 17 further comprising estimating an initial value of said volume during said analyzing step.
 19. An apparatus for monitoring a fluid storage and dispensing system, said apparatus comprising:measurement apparatus for measuring a volume associated with said system; and a computer comprising a processing means for collecting a plurality of measurement data from said measurement apparatus and a memory for storing said plurality of measurement data in a compressed matrix format which is a product of a data matrix and the transpose of the data matrix; wherein said processing means performs statistical analysis of said compressed matrix format to determine operational monitoring information.
 20. A method of monitoring a fluid storage and dispensing system, said system comprising a plurality of measurement apparatus for measuring a volume associated with said system, said method comprising:simultaneously collecting measurement data from said plurality of measurement apparatus in a form readable by a computer to determine a change in said volume; repeating said collecting step to obtain a plurality of said measurement data from said plurality of measurement apparatus; storing in a computer memory said plurality of measurement data in a compressed matrix format which is a product of a data matrix and the transpose of the data matrix; and statistically analyzing said compressed matrix format to determine operational monitoring information.
 21. The apparatus of claim 19 wherein said system comprises an underground storage tank.
 22. The apparatus of claim 19 wherein said system comprises an above-ground storage tank.
 23. The method of claim 20 further comprising estimating an initial value of said volume during said analyzing step.
 24. The apparatus of claim 19 wherein said measurement apparatus includes a volumetric gauge, a dispensing apparatus and a sales recording device.
 25. The apparatus of claim 24 wherein said volumetric gauge comprises a probe disposed in said system.
 26. The apparatus of claim 25 wherein said probe is a magnetostrictive tank probe.
 27. The apparatus of claim 24 wherein said dispensing apparatus comprises a totalizer.
 28. The apparatus of claim 24 wherein said sales recording device simulates operation of a point of sale terminal.
 29. The apparatus of claim 24 wherein said measurement data is collected simultaneously from said various measurement apparatus.
 30. A method of monitoring a fluid storage and dispensing system, said system comprising measurement apparatus for measuring a volume associated with said system, said method comprising:collecting a plurality of measurement data from said measurement apparatus in a form readable by a computer; storing in a computer memory said plurality of measurement data in a compressed matrix format which is a product of a data matrix and the transpose of the data matrix; statistically analyzing said compressed matrix format; determining whether a quantity of fluid removed from said system is caused by a leak in said system; and delivering a warning that a leak has been detected in said system.
 31. The apparatus of claim 19 wherein said product is formed by addition of partial products of each of a plurality of partitions of said data matrix with the transpose of each said partition. 